import { FaMicrosoft, FaReact } from "react-icons/fa";
import { HiOutlineServerStack } from "react-icons/hi2";
import { LuBrush, LuZap, LuGlobe } from "react-icons/lu";
import { SiLangchain } from "react-icons/si";
import { TbBrandTypescript } from "react-icons/tb";
import { FaPython } from "react-icons/fa";
import { SiCrewai } from "@icons-pack/react-simple-icons";
import { LuLayoutTemplate } from "react-icons/lu";
import { IconBaseProps } from "react-icons";
import { Mic, RocketIcon } from "lucide-react";

export const DirectToLLMIcon = (props: IconBaseProps) => (
  <svg
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <path
      d="M12 2L13.09 8.26L20 9L15 14L16.18 21L12 17.77L7.82 21L9 14L2 9L8.91 8.26L12 2Z"
      fill="currentColor"
    />
    <path
      d="M12 16L10.5 22L12 20.5L13.5 22L12 16Z"
      fill="currentColor"
      opacity="0.6"
    />
  </svg>
);

export const MicrosoftIcon = ({ className = "", ...props }: IconBaseProps) => (
  <FaMicrosoft className={className} {...props} />
);

export const ADKIcon = ({ className = "", ...props }: IconBaseProps) => (
  <svg
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 512 512"
    width="512"
    height="512"
    className={className}
    {...props}
  >
    <g transform="scale(0.9)" style={{ transformOrigin: "center" }}>
      <rect width="512" height="512" rx="128" ry="128" fill="#000000" />
    </g>
    <g transform="scale(0.85)" style={{ transformOrigin: "center" }}>
      <path
        d="M0 0 C1.31304611 -0.0071553 2.62609222 -0.01431061 3.97892761 -0.02168274 C5.41728187 -0.02452244 6.85563638 -0.02723424 8.29399109 -0.02983093 C9.82245027 -0.03610391 11.35090795 -0.04275144 12.87936401 -0.04974365 C17.88434302 -0.07069886 22.88932201 -0.08114259 27.89433289 -0.09111023 C29.62590742 -0.0951619 31.35748179 -0.09927894 33.08905602 -0.10346031 C41.23265771 -0.12249846 49.37625046 -0.13672865 57.5198701 -0.14507228 C66.87604093 -0.1548198 76.23197362 -0.18107987 85.58806068 -0.22157317 C92.8470237 -0.25189579 100.10591912 -0.2665566 107.36494416 -0.26985329 C111.68704116 -0.27218669 116.00888341 -0.28092007 120.33091164 -0.30631447 C156.48887641 -0.50776358 186.91460747 5.52279404 213.96855164 31.39717102 C235.95430616 54.21378255 243.8744487 81.85805342 243.56230164 113.01435852 C242.82592359 140.93045009 229.0853173 166.40142904 209.24198914 185.52217102 C191.67223194 201.09852568 168.35185318 212.20479416 144.56210327 212.29434204 C143.24905716 212.30149734 141.93601105 212.30865265 140.58317566 212.31602478 C139.14482141 212.31886448 137.7064669 212.32157628 136.26811218 212.32417297 C134.739653 212.33044595 133.21119532 212.33709348 131.68273926 212.34408569 C126.67776025 212.3650409 121.67278127 212.37548463 116.66777039 212.38545227 C114.93619586 212.38950394 113.20462148 212.39362098 111.47304726 212.39780235 C103.32944556 212.4168405 95.18585281 212.43107069 87.04223317 212.43941432 C77.68606234 212.44916184 68.33012965 212.47542191 58.97404259 212.51591522 C51.71507957 212.54623783 44.45618416 212.56089864 37.19715911 212.56419533 C32.87506212 212.56652873 28.55321986 212.57526211 24.23119164 212.60065651 C-11.92677313 212.80210562 -42.3525042 206.771548 -69.40644836 180.89717102 C-91.39220289 158.08055949 -99.31234543 130.43628862 -99.00019836 99.27998352 C-98.26382032 71.36389195 -84.52321403 45.892913 -64.67988586 26.77217102 C-47.11012867 11.19581636 -23.78974991 0.08954788 0 0 Z M-46.71894836 56.14717102 C-47.38668274 56.79299133 -48.05441711 57.43881165 -48.74238586 58.10420227 C-61.67195913 71.53106682 -66.89202154 90.95525774 -66.71894836 109.14717102 C-65.29530616 129.51620557 -57.05214152 145.96044845 -42.71894836 160.14717102 C-42.07312805 160.8149054 -41.42730774 161.48263977 -40.76191711 162.17060852 C-24.98727636 177.36100332 -3.35172872 180.30022142 17.56498718 180.29243469 C19.52295479 180.29747261 19.52295479 180.29747261 21.52047729 180.3026123 C25.07862687 180.31139119 28.63675235 180.31378787 32.19491172 180.31442809 C34.42546379 180.31514223 36.65600987 180.31728344 38.88656044 180.31992531 C46.68985503 180.32915951 54.49313262 180.33326274 62.2964325 180.33247375 C69.53487138 180.33187394 76.77323552 180.34241182 84.01165551 180.35821742 C90.25489513 180.37135716 96.49811051 180.37665495 102.74136382 180.37601835 C106.45736026 180.37576518 110.17329021 180.37851461 113.88927269 180.3891964 C118.04294698 180.40081177 122.19645719 180.39609147 126.35014343 180.39009094 C127.55737061 180.39571045 128.76459778 180.40132996 130.00840759 180.40711975 C152.39194774 180.32551845 172.41914732 174.77307242 188.63261414 158.82295227 C189.50659851 157.93994446 190.38058289 157.05693665 191.28105164 156.14717102 C192.2826532 155.17844055 192.2826532 155.17844055 193.30448914 154.19013977 C206.23406241 140.76327522 211.45412481 121.3390843 211.28105164 103.14717102 C209.85740944 82.77813647 201.61424479 66.33389359 187.28105164 52.14717102 C186.63523132 51.47943665 185.98941101 50.81170227 185.32402039 50.12373352 C169.54937963 34.93333872 147.91383199 31.99412062 126.99711609 32.00190735 C125.69180435 31.99854874 124.38649261 31.99519012 123.04162598 31.99172974 C119.4834764 31.98295085 115.92535092 31.98055418 112.36719155 31.97991395 C110.13663948 31.97919981 107.9060934 31.9770586 105.67554283 31.97441673 C97.87224824 31.96518253 90.06897065 31.9610793 82.26567078 31.96186829 C75.02723189 31.9624681 67.78886776 31.95193022 60.55044776 31.93612462 C54.30720814 31.92298488 48.06399276 31.91768709 41.82073945 31.9183237 C38.10474301 31.91857686 34.38881306 31.91582744 30.67283058 31.90514565 C26.51915629 31.89353027 22.36564608 31.89825057 18.21195984 31.9042511 C17.00473267 31.89863159 15.79750549 31.89301208 14.55369568 31.88722229 C-9.74912493 31.97582051 -29.57176548 38.82295232 -46.71894836 56.14717102 Z "
        fill="#4285F3"
        transform="translate(183.7189483642578,64.85282897949219)"
      />
      <path
        d="M0 0 C1.0116774 -0.0071553 2.0233548 -0.01431061 3.06568909 -0.02168274 C4.18036057 -0.02437164 5.29503204 -0.02706055 6.44348145 -0.02983093 C7.61454941 -0.03640213 8.78561737 -0.04297333 9.99217224 -0.04974365 C13.88804468 -0.06953217 17.78390359 -0.08116344 21.67980957 -0.09111023 C23.02597575 -0.09515966 24.37214173 -0.09927664 25.7183075 -0.10346031 C32.05722186 -0.12253533 38.39612456 -0.13674947 44.73506212 -0.14507228 C52.0141461 -0.15478951 59.29292149 -0.18095284 66.57189703 -0.22157317 C72.21718494 -0.25197492 77.86238582 -0.2665645 83.50775385 -0.26985329 C86.86869574 -0.27218089 90.22905077 -0.28287636 93.58995056 -0.30631447 C127.52447927 -0.52804368 155.90682785 7.49509286 180.89855957 31.39717102 C202.8843141 54.21378255 210.80445664 81.85805342 210.49230957 113.01435852 C209.75593153 140.93045009 196.01532523 166.40142904 176.17199707 185.52217102 C157.21503455 202.3283436 133.22869857 212.44791206 107.77355957 212.20967102 C106.85123535 212.2051593 105.92891113 212.20064758 104.9786377 212.19599915 C102.72270909 212.1843104 100.4669199 212.16792557 98.21105957 212.14717102 C98.80660645 211.8661554 99.40215332 211.58513977 100.01574707 211.29560852 C104.55080571 208.92317571 108.31448565 205.9588493 110.21105957 201.14717102 C110.91963049 196.1542178 110.76258648 192.23052744 108.46105957 187.70967102 C105.35448295 184.17162543 102.39148647 182.20254758 98.21105957 180.14717102 C98.84495605 180.07723938 99.47885254 180.00730774 100.13195801 179.93525696 C117.08170288 178.25720486 117.08170288 178.25720486 133.21105957 173.14717102 C134.26035645 172.67666321 135.30965332 172.2061554 136.39074707 171.72138977 C155.03767156 162.52955288 167.5962346 146.47746783 174.27746582 127.04560852 C180.02943998 106.42742096 176.68231485 85.87299508 166.32043457 67.38545227 C155.2959017 50.46075274 138.75429348 39.2147683 119.18762207 34.65498352 C111.44830405 33.33462743 103.84588907 33.00120148 96.0032959 33.00532532 C94.91921951 33.00185089 93.83514313 32.99837646 92.71821594 32.99479675 C90.37912819 32.98748064 88.04003368 32.98211334 85.70093727 32.97850609 C81.99776791 32.9713016 78.29472806 32.95560844 74.59159851 32.93716431 C64.06803408 32.88485903 53.54455821 32.83667226 43.02087402 32.82124329 C36.57184779 32.81117073 30.12315547 32.78187562 23.67426109 32.73992348 C21.22029836 32.72761024 18.76628853 32.7224928 16.31229591 32.72472191 C12.88471273 32.72707104 9.45809275 32.70494028 6.03063965 32.67720032 C5.01906799 32.68380173 4.00749634 32.69040314 2.965271 32.69720459 C-2.80021041 32.62054081 -6.24711946 32.06102164 -10.78894043 28.14717102 C-15.09121633 23.37978421 -16.15176546 19.70969807 -16.07019043 13.42842102 C-15.48074654 8.64737616 -12.64073246 5.89755924 -9.16394043 2.83467102 C-5.79446793 0.44057214 -4.08456692 0.01979461 0 0 Z "
        fill="#34A753"
        transform="translate(216.7889404296875,64.85282897949219)"
      />
      <path
        d="M0 0 C0.969944 -0.0099852 1.939888 -0.0199704 2.93922424 -0.03025818 C4.98230751 -0.04538665 7.02546429 -0.05248561 9.06860352 -0.05200195 C12.17914707 -0.05856787 15.28650395 -0.11311746 18.39648438 -0.16992188 C20.38931209 -0.17872467 22.38215484 -0.1846784 24.375 -0.1875 C25.2960704 -0.20905655 26.21714081 -0.2306131 27.16612244 -0.25282288 C33.11450504 -0.19027226 36.5357215 1.08734462 41.17347717 4.8250885 C45.27116401 9.1778744 45.29139256 13.69858971 45.20703125 19.44921875 C44.50380333 24.18994493 42.28995027 27.3409311 38.75390625 30.50390625 C28.00422925 35.87874475 14.7724105 32.50390625 2.75390625 32.50390625 C2.75390625 60.22390625 2.75390625 87.94390625 2.75390625 116.50390625 C13.31390625 116.50390625 23.87390625 116.50390625 34.75390625 116.50390625 C42.51252694 121.67632004 42.51252694 121.67632004 44.75390625 126.50390625 C45.76706246 132.70512099 45.75733985 137.90839454 42.00390625 143.12890625 C39.37436439 146.27638817 36.77704938 148.24253595 32.63180542 148.77806091 C31.87142975 148.78870071 31.11105408 148.79934052 30.32763672 148.81030273 C29.02510452 148.83428383 29.02510452 148.83428383 27.69625854 148.85874939 C26.76395416 148.86411209 25.83164978 148.86947479 24.87109375 148.875 C23.41692551 148.88854271 23.41692551 148.88854271 21.93338013 148.90235901 C19.88074833 148.91686062 17.82807032 148.92574802 15.77539062 148.92944336 C12.66064566 148.94128558 9.54791756 148.99042637 6.43359375 149.04101562 C4.43360335 149.05048689 2.43360086 149.05771856 0.43359375 149.0625 C-0.94664474 149.09179848 -0.94664474 149.09179848 -2.35476685 149.12168884 C-9.92572472 149.06982826 -16.49482381 146.93193879 -22.16726685 141.74827576 C-28.65531841 134.81932604 -29.69318322 127.92658301 -29.66601562 118.77026367 C-29.67448517 117.71241165 -29.68295471 116.65455963 -29.69168091 115.56465149 C-29.7150144 112.07943585 -29.7160738 108.59466273 -29.71484375 105.109375 C-29.72194814 102.67710698 -29.72964755 100.24484064 -29.73791504 97.81257629 C-29.75135198 92.71769552 -29.75293235 87.62296969 -29.74707031 82.52807617 C-29.74117899 76.01481781 -29.77174719 69.50230607 -29.81218719 62.98919201 C-29.83810035 57.96613087 -29.8409382 52.94324854 -29.83729553 47.92012978 C-29.83898377 45.51966795 -29.84859751 43.11919761 -29.86643982 40.7188015 C-29.88869701 37.3539445 -29.87889134 33.99058647 -29.86132812 30.62573242 C-29.87459137 29.64410126 -29.88785461 28.66247009 -29.90151978 27.65109253 C-29.80889397 19.9725961 -27.76071089 13.34695187 -22.49068451 7.58446026 C-15.75554207 1.27156305 -8.92472752 0.03227723 0 0 Z "
        fill="#FBBC04"
        transform="translate(114.24609375,298.49609375)"
      />
      <path
        d="M0 0 C1.00804687 -0.02835937 2.01609375 -0.05671875 3.0546875 -0.0859375 C9.43320633 0.87165184 14.10205612 5.93302187 18.8125 10.0625 C20.05383751 11.13900176 21.29603371 12.21451409 22.5390625 13.2890625 C23.14782227 13.81532227 23.75658203 14.34158203 24.38378906 14.88378906 C27.65387491 17.68436174 31.00567465 20.38382978 34.34765625 23.09765625 C38.02975925 26.11687714 41.65562893 29.20001945 45.28271484 32.28491211 C48.75762479 35.23471308 52.26962023 38.13171652 55.8125 41 C59.4625647 43.99176857 63.10593378 46.98892096 66.6875 50.0625 C67.49316406 50.74699219 68.29882812 51.43148437 69.12890625 52.13671875 C72.25531681 55.64245897 72.99009286 59.16083572 73.5 63.75 C72.23112403 76.01580108 61.6567399 82.50975572 52.75 89.8125 C51.84507812 90.54339844 50.94015625 91.27429688 50.0078125 92.02734375 C46.84483953 94.60315236 43.73182328 97.23205222 40.625 99.875 C35.7854038 103.98801755 30.89546343 108.03129034 25.96484375 112.03515625 C23.85439681 113.77402519 21.76654861 115.52850079 19.69140625 117.30859375 C18.81742187 118.05689453 18.81742187 118.05689453 17.92578125 118.8203125 C16.79381663 119.79202146 15.66474961 120.76711942 14.5390625 121.74609375 C8.54117063 126.89141745 4.89439365 127.84040182 -2.9609375 127.6875 C-8.26240101 127.11897844 -10.71472495 124.59634216 -14.25 120.875 C-16.66962394 115.66350228 -16.82157547 111.01718605 -15.875 105.375 C-13.14263444 99.03635439 -7.2128306 94.95475519 -1.93359375 90.79296875 C1.31680523 88.22336854 4.47447973 85.56496979 7.625 82.875 C12.58417214 78.65340994 17.60608304 74.51974134 22.6875 70.4453125 C25.31218374 68.21601381 27.72108729 65.83901053 30.125 63.375 C22.79394251 57.04995624 15.43855789 50.77249376 7.921875 44.66796875 C3.62741415 41.14723059 -0.60036933 37.54886866 -4.83203125 33.953125 C-6.38015925 32.64148896 -7.93057745 31.33124859 -9.52490234 30.07617188 C-13.59763742 26.84364661 -15.51766108 24.78016584 -16.28125 19.640625 C-16.48744609 13.00798425 -15.87605463 9.04292903 -11.578125 3.8984375 C-7.91857027 0.62498258 -4.86609762 0.06190964 0 0 Z "
        fill="#EA4335"
        transform="translate(353.875,308.625)"
      />
      <path
        d="M0 0 C4.8143755 4.57365673 6.75156236 7.6837462 7 14.375 C7.05442907 19.60019083 5.74920258 22.29348937 2.5 26.375 C0.41477163 28.44352984 -1.79612751 30.32113007 -4.0625 32.1875 C-4.68310303 32.70884521 -5.30370605 33.23019043 -5.94311523 33.76733398 C-10.4931635 37.5786204 -15.09008477 41.33381521 -19.6953125 45.078125 C-22.96474094 47.75559564 -26.20638031 50.46400467 -29.4375 53.1875 C-29.98156494 53.64390869 -30.52562988 54.10031738 -31.08618164 54.57055664 C-34.02478096 57.0547381 -36.82445279 59.60919337 -39.5 62.375 C-32.16894251 68.70004376 -24.81355789 74.97750624 -17.296875 81.08203125 C-13.00241415 84.60276941 -8.77463067 88.20113134 -4.54296875 91.796875 C-2.99484075 93.10851104 -1.44442255 94.41875141 0.14990234 95.67382812 C4.25387546 98.93114699 6.21122997 100.96410599 6.8359375 106.1796875 C6.96940663 116.67036144 6.96940663 116.67036144 2.5 121.375 C-1.14862143 124.84119036 -4.2835837 125.75704768 -9.1875 126.125 C-16.77761867 125.81729249 -20.9482353 122.2355227 -26.5 117.375 C-27.7114746 116.33764761 -28.92375896 115.30124039 -30.13671875 114.265625 C-32.72788532 112.04071271 -35.3021929 109.79798436 -37.8671875 107.54296875 C-41.75272303 104.13629156 -45.74276272 100.86973525 -49.7578125 97.6171875 C-53.42820794 94.61603796 -57.03852636 91.54658493 -60.64697266 88.47143555 C-64.21555198 85.43755671 -67.84162128 82.48821954 -71.5 79.5625 C-80.20927177 72.45289039 -80.20927177 72.45289039 -82.3125 67.4375 C-82.374375 66.756875 -82.43625 66.07625 -82.5 65.375 C-82.6546875 63.76625 -82.6546875 63.76625 -82.8125 62.125 C-82.06556266 53.16175197 -77.08290815 48.60490099 -70.48828125 42.875 C-66.808321 39.79634044 -63.11536392 36.73740932 -59.3828125 33.72265625 C-56.21983953 31.14684764 -53.10682328 28.51794778 -50 25.875 C-45.1604038 21.76198245 -40.27046343 17.71870966 -35.33984375 13.71484375 C-33.22939681 11.97597481 -31.14154861 10.22149921 -29.06640625 8.44140625 C-28.48375 7.94253906 -27.90109375 7.44367188 -27.30078125 6.9296875 C-26.16881663 5.95797854 -25.03974961 4.98288058 -23.9140625 4.00390625 C-16.77309541 -2.12201066 -8.93231938 -4.14714828 0 0 Z "
        fill="#EA4335"
        transform="translate(263.5,310.625)"
      />
      <path
        d="M0 0 C4.58944252 2.59067597 8.07973488 5.95843049 9.58984375 11.1171875 C10.43895989 16.98821911 10.4991943 22.35248537 7.52734375 27.6171875 C4.02449419 32.28765359 0.50237103 34.69595422 -5.24609375 35.52734375 C-11.27485226 35.82346665 -15.88471772 35.3237664 -20.78515625 31.6484375 C-25.50423874 27.20160977 -26.66198643 23.50460631 -26.97265625 17.1796875 C-26.75311095 11.33246435 -25.4377323 7.39134984 -21.41015625 3.1171875 C-15.27205905 -1.89350409 -7.4975257 -2.74625739 0 0 Z "
        fill="#4285F4"
        transform="translate(327.41015625,153.8828125)"
      />
      <path
        d="M0 0 C4.58944252 2.59067597 8.07973488 5.95843049 9.58984375 11.1171875 C10.43895989 16.98821911 10.4991943 22.35248537 7.52734375 27.6171875 C4.02449419 32.28765359 0.50237103 34.69595422 -5.24609375 35.52734375 C-11.27485226 35.82346665 -15.88471772 35.3237664 -20.78515625 31.6484375 C-25.50423874 27.20160977 -26.66198643 23.50460631 -26.97265625 17.1796875 C-26.75311095 11.33246435 -25.4377323 7.39134984 -21.41015625 3.1171875 C-15.27205905 -1.89350409 -7.4975257 -2.74625739 0 0 Z "
        fill="#4285F4"
        transform="translate(203.41015625,153.8828125)"
      />
    </g>
  </svg>
);

export const AG2Icon = ({ className = "", ...props }: IconBaseProps) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    fill="none"
    viewBox="0 0 90 50"
    className={className}
    {...props}
  >
    <path
      fill="currentColor"
      d="M69.285 0h-3.232v3.232h3.232V0Zm-3.232 16.095h-3.21v6.442h3.21v-6.442Zm0-12.863h-3.21v3.21h3.21v-3.21Zm-3.21 9.652h-3.21v3.21h3.21v-3.21Zm0-6.442h-3.21v3.232h3.21V6.442Zm-3.211 3.232H53.19v3.21h6.442v-3.21ZM53.19 6.442H37.095v3.232H53.19V6.442Zm6.442 19.305v-6.42h-3.231v-3.232H33.885v3.232h-3.232v6.42h28.98Zm-9.652-6.42h3.21v3.21h-3.21v-3.21Zm-12.885 0h3.21v3.21h-3.21v-3.21Zm0-9.653h-6.442v3.21h6.442v-3.21Zm-6.442 3.21h-3.21v3.21h3.21v-3.21Zm0-6.442h-3.21v3.232h3.21V6.442Zm-3.211 9.653h-3.21v6.442h3.21v-6.442Zm0-12.863h-3.21v3.21h3.21v-3.21ZM24.232 0H21v3.232h3.232V0Z"
    />
    <path
      fill="currentColor"
      d="M65.867 37.748V34.33H55.615v-3.418h10.252v3.418h3.418v3.417h-3.418Zm-6.834 3.417v-3.417h6.834v3.417h-6.834ZM55.615 48v-6.835h3.418v3.418h10.252V48h-13.67Zm-13.89-13.67v-3.417h10.252v3.418H41.725Zm-3.417 10.253V34.33h3.417v10.252h-3.417Zm10.252 0v-3.418h-3.417v-3.417h6.834v6.835H48.56ZM41.725 48v-3.417h6.835V48h-6.835ZM21 48V34.33h3.417v-3.417h6.835v3.418h3.418V48h-3.418v-6.835h-6.835V48H21Zm3.417-10.252h6.835v-3.28h-6.835v3.28Z"
    />
  </svg>
);

export const MastraIcon = ({ className = "", ...props }: IconBaseProps) => (
  <svg
    viewBox="0 0 34 34"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    className={className}
    {...props}
  >
    <circle
      cx="16.6532"
      cy="16.9999"
      r="14.0966"
      stroke="currentColor"
      strokeWidth="1.16026"
    />
    <ellipse
      cx="16.6533"
      cy="17"
      rx="14.0966"
      ry="9.45478"
      transform="rotate(45 16.6533 17)"
      stroke="currentColor"
      strokeWidth="1.16026"
    />
    <path
      d="M10.8984 17.0508H22.483"
      stroke="currentColor"
      strokeWidth="1.16026"
    />
    <path
      d="M13.748 19.9932L19.6339 14.1074"
      stroke="currentColor"
      strokeWidth="1.16026"
    />
  </svg>
);

export const AgnoIcon = ({ className = "", ...props }: IconBaseProps) => (
  <svg
    viewBox="0 0 195 75"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    className={className}
    {...props}
  >
    <path
      d="M44.9802 0.200195H16.5703V10.1702H38.0442L56.3442 58.8102H68.1658L44.9802 0.200195Z"
      fill="currentColor"
    />
    <path d="M29.59 48.8403H0.5V58.8103H29.59V48.8403Z" fill="currentColor" />
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M106.781 57.3271L106.748 57.2946C106.538 62.7046 104.862 66.8535 101.651 69.6754C99.5756 71.5114 96.5827 72.8283 93.2745 73.5576C89.9605 74.288 86.2923 74.4374 82.8361 73.9058C75.9469 72.8462 69.7197 69.0281 69.1124 61.5207L69.0687 60.9803H78.6597L78.725 61.4043C79.2382 64.7375 82.2366 66.4244 85.7803 66.7766C87.5364 66.9511 89.3766 66.7868 91.0038 66.3457C92.6378 65.9028 94.0152 65.1926 94.8845 64.3096L94.8981 64.2958L94.9127 64.2831C95.4723 63.7965 95.9123 63.0704 96.2494 62.1504C96.5856 61.2328 96.8086 60.152 96.9526 58.9907C97.2411 56.6652 97.2058 54.0891 97.1761 51.9777L97.176 51.9732L97.1725 51.7158C94.7704 55.4822 91.6364 57.5831 88.3259 58.402C84.6598 59.3088 80.8264 58.6317 77.5991 56.9885C73.8994 55.2095 71.4248 51.9689 69.8863 48.249C68.3481 44.5298 67.7308 40.2996 67.7608 36.4697C67.7213 29.0048 71.2243 20.2031 78.2871 16.8883C81.4568 15.376 85.3623 14.7771 88.9867 15.6312C92.1761 16.3827 95.1358 18.258 97.1608 21.5917V16.3104H106.781V57.3271ZM94.6816 46.608C92.9795 49.2165 90.4738 50.8999 87.1583 50.8504L87.1487 50.8504C83.8825 50.8645 81.4259 49.1844 79.7641 46.5957C78.0929 43.9925 77.2408 40.4841 77.2408 36.9466C77.2408 33.4091 78.0929 29.9014 79.764 27.2995C81.4258 24.7121 83.8822 23.0339 87.1483 23.0504L87.1567 23.0504L87.1652 23.0502C90.5349 22.9535 93.0495 24.6029 94.7414 27.1812C96.4443 29.7765 97.3024 33.306 97.2896 36.8736C97.2767 40.4407 96.3932 43.9852 94.6816 46.608Z"
      fill="currentColor"
    />
    <path
      d="M122.38 21.817V16.29H113.24V58.84H122.83V32.77C122.83 31.4259 123.051 30.1528 123.481 28.9482C123.912 27.743 124.51 26.7201 125.264 25.8723L125.272 25.8624C126.034 24.9601 126.941 24.2776 128.028 23.8091L128.036 23.8056L128.044 23.8018C129.13 23.2869 130.356 23.02 131.75 23.02C134.224 23.02 135.948 23.6948 137.019 24.9541L137.027 24.9623C138.12 26.1911 138.761 28.2555 138.86 31.2684V58.84H148.45V29C148.45 24.4884 147.192 21.012 144.594 18.678C142.019 16.364 138.517 15.23 134.16 15.23C131.517 15.23 129.089 15.8709 126.898 17.1784C125.084 18.2196 123.584 20.0156 122.38 21.817Z"
      fill="currentColor"
    />
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M189.43 21.9877C186.048 17.7695 180.97 15.0322 174.236 15.2401C167.503 15.0322 162.425 17.7695 159.043 21.9877C155.669 26.1945 153.999 31.8497 154 37.4791C154.001 43.1085 155.672 48.7631 159.045 52.9686C162.428 57.1855 167.505 59.9209 174.236 59.7106C180.967 59.9209 186.044 57.1855 189.427 52.9686C192.801 48.7631 194.472 43.1085 194.473 37.4791C194.473 31.8497 192.803 26.1945 189.43 21.9877ZM182.196 47.4833C180.409 50.1702 177.762 51.9245 174.238 51.9103H174.234C170.71 51.9245 168.064 50.1702 166.277 47.4833C164.481 44.7816 163.564 41.1431 163.561 37.4762C163.559 33.8093 164.471 30.1718 166.266 27.4716C168.051 24.7867 170.699 23.0337 174.234 23.0503L174.239 23.0503C177.773 23.0337 180.422 24.7867 182.207 27.4716C184.002 30.1718 184.914 33.8093 184.911 37.4762C184.909 41.1431 183.992 44.7816 182.196 47.4833Z"
      fill="currentColor"
    />
  </svg>
);

export const AgnoIconBlack = (props: IconBaseProps, className?: string) => (
  <svg
    width="195"
    height="75"
    viewBox="0 0 195 75"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <path
      d="M44.9802 0.200195H16.5703V10.1702H38.0442L56.3442 58.8102H68.1658L44.9802 0.200195Z"
      fill="#18181B"
    />
    <path d="M29.59 48.8403H0.5V58.8103H29.59V48.8403Z" fill="#18181B" />
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M106.781 57.3271L106.748 57.2946C106.538 62.7046 104.862 66.8535 101.651 69.6754C99.5756 71.5114 96.5827 72.8283 93.2745 73.5576C89.9605 74.288 86.2923 74.4374 82.8361 73.9058C75.9469 72.8462 69.7197 69.0281 69.1124 61.5207L69.0687 60.9803H78.6597L78.725 61.4043C79.2382 64.7375 82.2366 66.4244 85.7803 66.7766C87.5364 66.9511 89.3766 66.7868 91.0038 66.3457C92.6378 65.9028 94.0152 65.1926 94.8845 64.3096L94.8981 64.2958L94.9127 64.2831C95.4723 63.7965 95.9123 63.0704 96.2494 62.1504C96.5856 61.2328 96.8086 60.152 96.9526 58.9907C97.2411 56.6652 97.2058 54.0891 97.1761 51.9777L97.176 51.9732L97.1725 51.7158C94.7704 55.4822 91.6364 57.5831 88.3259 58.402C84.6598 59.3088 80.8264 58.6317 77.5991 56.9885C73.8994 55.2095 71.4248 51.9689 69.8863 48.249C68.3481 44.5298 67.7308 40.2996 67.7608 36.4697C67.7213 29.0048 71.2243 20.2031 78.2871 16.8883C81.4568 15.376 85.3623 14.7771 88.9867 15.6312C92.1761 16.3827 95.1358 18.258 97.1608 21.5917V16.3104H106.781V57.3271ZM94.6816 46.608C92.9795 49.2165 90.4738 50.8999 87.1583 50.8504L87.1487 50.8504C83.8825 50.8645 81.4259 49.1844 79.7641 46.5957C78.0929 43.9925 77.2408 40.4841 77.2408 36.9466C77.2408 33.4091 78.0929 29.9014 79.764 27.2995C81.4258 24.7121 83.8822 23.0339 87.1483 23.0504L87.1567 23.0504L87.1652 23.0502C90.5349 22.9535 93.0495 24.6029 94.7414 27.1812C96.4443 29.7765 97.3024 33.306 97.2896 36.8736C97.2767 40.4407 96.3932 43.9852 94.6816 46.608Z"
      fill="#18181B"
    />
    <path
      d="M122.38 21.817V16.29H113.24V58.84H122.83V32.77C122.83 31.4259 123.051 30.1528 123.481 28.9482C123.912 27.743 124.51 26.7201 125.264 25.8723L125.272 25.8624C126.034 24.9601 126.941 24.2776 128.028 23.8091L128.036 23.8056L128.044 23.8018C129.13 23.2869 130.356 23.02 131.75 23.02C134.224 23.02 135.948 23.6948 137.019 24.9541L137.027 24.9623C138.12 26.1911 138.761 28.2555 138.86 31.2684V58.84H148.45V29C148.45 24.4884 147.192 21.012 144.594 18.678C142.019 16.364 138.517 15.23 134.16 15.23C131.517 15.23 129.089 15.8709 126.898 17.1784C125.084 18.2196 123.584 20.0156 122.38 21.817Z"
      fill="#18181B"
    />
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M189.43 21.9877C186.048 17.7695 180.97 15.0322 174.236 15.2401C167.503 15.0322 162.425 17.7695 159.043 21.9877C155.669 26.1945 153.999 31.8497 154 37.4791C154.001 43.1085 155.672 48.7631 159.045 52.9686C162.428 57.1855 167.505 59.9209 174.236 59.7106C180.967 59.9209 186.044 57.1855 189.427 52.9686C192.801 48.7631 194.472 43.1085 194.473 37.4791C194.473 31.8497 192.803 26.1945 189.43 21.9877ZM182.196 47.4833C180.409 50.1702 177.762 51.9245 174.238 51.9103H174.234C170.71 51.9245 168.064 50.1702 166.277 47.4833C164.481 44.7816 163.564 41.1431 163.561 37.4762C163.559 33.8093 164.471 30.1718 166.266 27.4716C168.051 24.7867 170.699 23.0337 174.234 23.0503L174.239 23.0503C177.773 23.0337 180.422 24.7867 182.207 27.4716C184.002 30.1718 184.914 33.8093 184.911 37.4762C184.909 41.1431 183.992 44.7816 182.196 47.4833Z"
      fill="#18181B"
    />
  </svg>
);

export const LlamaIndexIcon = ({ className = "", ...props }: IconBaseProps) => (
  <svg
    viewBox="0 0 81 80"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    className={className}
    {...props}
  >
    <title>llamaindex</title>
    <defs>
      <linearGradient
        x1="23.4558085%"
        y1="8.41682113%"
        x2="91.6436502%"
        y2="80.3192605%"
        id="linearGradient-1"
      >
        <stop stopColor="#F6DCD9" offset="6.19804%"></stop>
        <stop stopColor="#FFA5EA" offset="32.5677%"></stop>
        <stop stopColor="#45DFF8" offset="58.9257%"></stop>
        <stop stopColor="#BC8DEB" offset="100%"></stop>
      </linearGradient>
    </defs>
    <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
      <g id="llamaindex" transform="translate(0, 0)" fillRule="nonzero">
        <path
          d="M0,16 C0,7.16344 7.16925,0 16.013,0 L64.0518,0 C72.8955,0 80.0648,7.16344 80.0648,16 L80.0648,64 C80.0648,72.8366 72.8955,80 64.0518,80 L16.013,80 C7.16924,80 0,72.8366 0,64 L0,16 Z"
          id="Path"
          fill="#000000"
        ></path>
        <path
          d="M50.3091,52.6201 C45.1552,54.8952 39.5718,53.963 37.4243,53.2126 C37.4243,53.726 37.4009,55.3218 37.3072,57.597 C37.2135,59.8721 36.4873,61.3099 36.1359,61.7444 C36.1749,63.1664 36.2062,66.271 36.0188,67.3138 C35.8313,68.3566 35.1598,69.2493 34.8474,69.5652 L31.6848,69.5652 C31.9659,68.1433 33.0513,67.2348 33.5589,66.9583 C33.84,64.0195 33.2856,61.4679 32.9733,60.5594 C32.6609,61.6654 31.8956,64.2328 31.3334,65.6548 C30.7711,67.0768 29.9278,68.3803 29.5763,68.8543 L27.2337,68.8543 C27.1165,67.4323 27.8974,66.9583 28.405,66.9583 C28.6393,66.5238 29.2015,65.1571 29.5763,63.1664 C29.9512,61.1756 29.4202,57.439 29.1078,55.8195 L29.1078,50.7241 C25.3595,48.7096 23.9539,46.6952 23.0168,44.4437 C22.2672,42.6425 22.4702,39.9013 22.6654,38.7558 C22.4311,38.3213 21.7481,37.217 21.4941,35.6749 C21.1427,33.5419 21.3379,32.0014 21.4941,31.1719 C21.2598,30.9349 20.7913,29.7263 20.7913,26.7875 C20.7913,23.8488 21.6502,22.3241 22.0797,21.9291 L22.0797,20.6256 C20.4398,20.5071 18.7999,19.7961 17.8629,18.8482 C16.9258,17.9002 17.6286,16.4782 18.2143,16.0042 C18.7999,15.5302 19.3856,15.8857 20.2056,15.6487 C21.0255,15.4117 21.7283,15.1747 22.0797,14.4637 C22.3608,13.895 21.8064,11.5408 21.494,10.4348 C22.8997,10.6244 23.7977,11.8568 24.071,12.4493L24.071,10.4348 C25.828,11.2643 28.9907,13.2788 30.0449,17.6632 C30.8882,21.1707 31.4895,28.5255 31.6847,31.7645 C36.1749,31.804 41.8755,31.1211 47.0294,32.2384 C51.7148,33.2542 53.8232,35.3194 56.283,35.3194 C58.7428,35.3194 60.1484,33.8974 61.9055,35.0824 C63.6625,36.2674 64.5996,39.5853 64.3653,42.0738 C64.1779,44.0645 62.6473,44.7202 61.9055,44.7992 C60.9684,47.9276 61.9055,50.9216 62.4911,52.0276 L62.4911,56.5305 C62.7645,56.9255 63.3111,58.1421 63.3111,59.8484 C63.3111,61.5548 62.7645,62.6924 62.4911,63.0479 C62.9597,65.7022 62.2959,68.4198 61.9055,69.4468 L58.7428,69.4468 C59.1177,68.4988 59.758,68.2618 60.0313,68.2618 C60.5936,65.3231 60.1875,62.6134 59.9142,61.6259 C58.1337,60.5831 56.9858,58.7425 56.6344,57.9525 C56.6735,58.624 56.5641,60.4883 55.8145,62.5739 C55.0648,64.6595 53.9403,65.8918 53.4718,66.2473 L53.4718,68.7358 L50.3091,68.7358 C50.3091,67.219 51.1681,66.9188 51.5976,66.9583 C52.1443,65.9708 53.4718,64.4699 53.4718,61.5074 C53.4718,59.0077 51.7148,57.834 50.4263,55.5825 C49.8141,54.5128 50.1139,53.1731 50.3091,52.6201 Z"
          id="Path"
          fill="url(#linearGradient-1)"
        ></path>
      </g>
    </g>
  </svg>
);

export const PydanticAIIcon = (props: IconBaseProps) => (
  <svg
    width="139px"
    height="120px"
    viewBox="0 0 139 120"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
      <g
        id="pydantic-logo"
        transform="translate(0, 0.1733)"
        fill="currentColor"
        fillRule="nonzero"
      >
        <path
          d="M137.124,90.38975 L73.371,2.06775 C71.364,-0.68925 66.738,-0.68925 64.751,2.06775 L0.998,90.38975 C0.349072482,91.2935362 0,92.3781241 0,93.49075 C0.00318943775,95.7819584 1.469778,97.814973 3.643,98.54075 L67.397,119.39175 L67.407,119.39175 C68.4772724,119.740719 69.6307276,119.740719 70.701,119.39175 L70.711,119.39175 L134.464,98.54175 C136.077884,98.0193374 137.341287,96.7514677 137.858,95.13575 C138.390392,93.5257019 138.111354,91.7575889 137.109,90.38975 L137.124,90.38975 Z M69.064,14.23875 L94.617,49.64175 L70.721,41.82875 C70.536,41.76875 70.341,41.77875 70.157,41.73475 C69.976359,41.6901364 69.7924394,41.6600405 69.607,41.64475 C69.423,41.61975 69.248,41.54975 69.064,41.54975 C68.879,41.54975 68.709,41.61975 68.524,41.64475 C68.34,41.66475 68.155,41.69475 67.976,41.73475 C67.786,41.76975 67.591,41.76975 67.422,41.82875 L43.67,49.59675 L43.52,49.64675 L69.074,14.23675 L69.064,14.23675 L69.064,14.23875 Z M32.96,64.26475 L60.779,55.16075 L63.749,54.19375 L63.749,107.03175 L13.869,90.71375 L32.959,64.26475 L32.96,64.26475 Z M74.384,107.02175 L74.384,54.19375 L105.172,64.26475 L124.263,90.69875 L74.379,107.02175 L74.384,107.02175 Z"
          id="Shape"
        ></path>
      </g>
    </g>
  </svg>
);

export const AwsStrandsIcon = (props: IconBaseProps) => (
  <svg
    width="290"
    height="463"
    viewBox="0 0 290 463"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <path
      id="logo_black_grey"
      d="M97.2902 52.7884C85.0674 49.1667 72.2234 56.1389 68.6017 68.3616C64.9801 80.5843 71.9524 93.4283 84.1749 97.0501L235.117 139.775C245.223 142.769 246.357 156.628 236.874 161.226L32.546 260.291C-14.9439 283.316 -9.16107 352.74 41.4835 367.591L189.551 411.009L190.125 411.169C202.183 414.376 214.665 407.396 218.196 395.355C221.784 383.122 214.774 370.296 202.541 366.709L54.4738 323.291C44.3447 320.321 43.1879 306.436 52.6857 301.831L257.014 202.766C304.432 179.776 298.758 110.483 248.233 95.512L97.2902 52.7884Z"
      fill="#989898"
    />
    <path
      id="logo_green"
      d="M259.147 0.981812C271.389 -2.57498 284.197 4.46571 287.754 16.7074C291.311 28.9492 284.27 41.757 272.028 45.3138L71.1727 103.671C40.7142 112.521 37.1976 154.262 65.7459 168.083L241.343 253.093C307.872 285.302 299.794 382.546 228.862 403.336L30.4041 461.502C18.1707 465.088 5.34708 458.078 1.76153 445.844C-1.8239 433.611 5.18637 420.787 17.4197 417.202L215.878 359.035C246.277 350.125 249.739 308.449 221.226 294.645L45.6297 209.635C-20.9834 177.386 -12.7772 79.9893 58.2928 59.3402L259.147 0.981812Z"
      fill="#00FF77"
    />
    <path
      id="logo_opacity"
      d="M259.147 0.981812C271.389 -2.57498 284.197 4.46571 287.754 16.7074C291.311 28.9492 284.27 41.757 272.028 45.3138L71.1727 103.671C40.7142 112.521 37.1976 154.262 65.7459 168.083L241.343 253.093C307.872 285.302 299.794 382.546 228.862 403.336L30.4041 461.502C18.1707 465.088 5.34708 458.078 1.76153 445.844C-1.8239 433.611 5.18637 420.787 17.4197 417.202L215.878 359.035C246.277 350.125 249.739 308.449 221.226 294.645L45.6297 209.635C-20.9834 177.386 -12.7772 79.9893 58.2928 59.3402L259.147 0.981812Z"
      fill="black"
      fillOpacity="0.2"
    />
  </svg>
);

export const A2AIcon = (props: IconBaseProps) => (
  <svg
    width="30"
    height="18.5"
    viewBox="3 9 30 18.5"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <path
      d="M8.7 14.725C8.51667 14.9083 8.28333 15 8 15C7.71667 15 7.475 14.9083 7.275 14.725C7.09167 14.525 7 14.2833 7 14C7 13.7167 7.09167 13.4833 7.275 13.3C7.475 13.1 7.71667 13 8 13C8.28333 13 8.51667 13.1 8.7 13.3C8.9 13.4833 9 13.7167 9 14C9 14.2833 8.9 14.525 8.7 14.725Z"
      fill="currentColor"
    />
    <path
      d="M14.7 14.725C14.5167 14.9083 14.2833 15 14 15C13.7167 15 13.475 14.9083 13.275 14.725C13.0917 14.525 13 14.2833 13 14C13 13.7167 13.0917 13.4833 13.275 13.3C13.475 13.1 13.7167 13 14 13C14.2833 13 14.5167 13.1 14.7 13.3C14.9 13.4833 15 13.7167 15 14C15 14.2833 14.9 14.525 14.7 14.725Z"
      fill="currentColor"
    />
    <path
      d="M22.7 14.725C22.5167 14.9083 22.2833 15 22 15C21.7167 15 21.475 14.9083 21.275 14.725C21.0917 14.525 21 14.2833 21 14C21 13.7167 21.0917 13.4833 21.275 13.3C21.475 13.1 21.7167 13 22 13C22.2833 13 22.5167 13.1 22.7 13.3C22.9 13.4833 23 13.7167 23 14C23 14.2833 22.9 14.525 22.7 14.725Z"
      fill="currentColor"
    />
    <path
      d="M28.7 14.725C28.5167 14.9083 28.2833 15 28 15C27.7167 15 27.475 14.9083 27.275 14.725C27.0917 14.525 27 14.2833 27 14C27 13.7167 27.0917 13.4833 27.275 13.3C27.475 13.1 27.7167 13 28 13C28.2833 13 28.5167 13.1 28.7 13.3C28.9 13.4833 29 13.7167 29 14C29 14.2833 28.9 14.525 28.7 14.725Z"
      fill="currentColor"
    />
    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M5 14C5 12.3431 6.34315 11 8 11H14C14.776 11 15.284 11.1537 15.64 11.3818C15.8589 10.794 16.1517 10.1709 16.555 9.59795C15.8797 9.21153 15.0386 9 14 9H8C5.23858 9 3 11.2386 3 14C3 16.7612 5.23759 19 7.99926 19H14C15.7634 19 16.9573 18.3902 17.7375 17.35C18.4228 16.4363 18.7148 15.266 18.9483 14.3299L18.9701 14.2425C19.2327 13.1924 19.4442 12.4077 19.8625 11.85C20.2073 11.3902 20.7634 11 22 11H28.0005C29.6572 11 31 12.343 31 14C31 15.6569 29.6569 17 28 17H22C21.224 17 20.716 16.8463 20.36 16.6182C20.1411 17.206 19.8483 17.8291 19.445 18.402C20.1203 18.7885 20.9614 19 22 19H28C30.7614 19 33 16.7614 33 14C33 11.2388 30.7621 9 28.0005 9H22C20.2366 9 19.0427 9.60979 18.2625 10.65C17.5772 11.5637 17.2852 12.734 17.0517 13.6701L17.0299 13.7575C16.7673 14.8076 16.5558 15.5923 16.1375 16.15C15.7927 16.6098 15.2366 17 14 17H7.99926C6.34265 17 5 15.6571 5 14Z"
      fill="currentColor"
    />
    <path
      d="M7 23.5C6.71667 23.5 6.475 23.4083 6.275 23.225C6.09167 23.025 6 22.7833 6 22.5C6 22.2167 6.09167 21.9833 6.275 21.8C6.475 21.6 6.71667 21.5 7 21.5H12C12.2833 21.5 12.5167 21.6 12.7 21.8C12.9 21.9833 13 22.2167 13 22.5C13 22.7833 12.9 23.025 12.7 23.225C12.5167 23.4083 12.2833 23.5 12 23.5H7ZM5 27.5C4.71667 27.5 4.475 27.4083 4.275 27.225C4.09167 27.025 4 26.7833 4 26.5C4 26.2167 4.09167 25.9833 4.275 25.8C4.475 25.6 4.71667 25.5 5 25.5H8C8.28333 25.5 8.51667 25.6 8.7 25.8C8.9 25.9833 9 26.2167 9 26.5C9 26.7833 8.9 27.025 8.7 27.225C8.51667 27.4083 8.28333 27.5 8 27.5H5ZM12 27.5C11.7167 27.5 11.475 27.4083 11.275 27.225C11.0917 27.025 11 26.7833 11 26.5C11 26.2167 11.0917 25.9833 11.275 25.8C11.475 25.6 11.7167 25.5 12 25.5H20C20.2833 25.5 20.5167 25.6 20.7 25.8C20.9 25.9833 21 26.2167 21 26.5C21 26.7833 20.9 27.025 20.7 27.225C20.5167 27.4083 20.2833 27.5 20 27.5H12ZM28 27.5C27.7167 27.5 27.475 27.4083 27.275 27.225C27.0917 27.025 27 26.7833 27 26.5C27 26.2167 27.0917 25.9833 27.275 25.8C27.475 25.6 27.7167 25.5 28 25.5H32C32.2833 25.5 32.5167 25.6 32.7 25.8C32.9 25.9833 33 26.2167 33 26.5C33 26.7833 32.9 27.025 32.7 27.225C32.5167 27.4083 32.2833 27.5 32 27.5H28ZM16 23.5C15.7167 23.5 15.475 23.4083 15.275 23.225C15.0917 23.025 15 22.7833 15 22.5C15 22.2167 15.0917 21.9833 15.275 21.8C15.475 21.6 15.7167 21.5 16 21.5C16.2833 21.5 16.5167 21.6 16.7 21.8C16.9 21.9833 17 22.2167 17 22.5C17 22.7833 16.9 23.025 16.7 23.225C16.5167 23.4083 16.2833 23.5 16 23.5ZM24 27.5C23.7167 27.5 23.475 27.4083 23.275 27.225C23.0917 27.025 23 26.7833 23 26.5C23 26.2167 23.0917 25.9833 23.275 25.8C23.475 25.6 23.7167 25.5 24 25.5C24.2833 25.5 24.5167 25.6 24.7 25.8C24.9 25.9833 25 26.2167 25 26.5C25 26.7833 24.9 27.025 24.7 27.225C24.5167 27.4083 24.2833 27.5 24 27.5Z"
      fill="currentColor"
    />
    <path
      d="M19.275 23.225C19.475 23.4083 19.7167 23.5 20 23.5H23C23.2833 23.5 23.5167 23.4083 23.7 23.225C23.9 23.025 24 22.7833 24 22.5C24 22.2167 23.9 21.9833 23.7 21.8C23.5167 21.6 23.2833 21.5 23 21.5H20C19.7167 21.5 19.475 21.6 19.275 21.8C19.0917 21.9833 19 22.2167 19 22.5C19 22.7833 19.0917 23.025 19.275 23.225Z"
      fill="currentColor"
    />
    <path
      d="M26.275 23.225C26.475 23.4083 26.7167 23.5 27 23.5H30C30.2833 23.5 30.5167 23.4083 30.7 23.225C30.9 23.025 31 22.7833 31 22.5C31 22.2167 30.9 21.9833 30.7 21.8C30.5167 21.6 30.2833 21.5 30 21.5H27C26.7167 21.5 26.475 21.6 26.275 21.8C26.0917 21.9833 26 22.2167 26 22.5C26 22.7833 26.0917 23.025 26.275 23.225Z"
      fill="currentColor"
    />
  </svg>
);

export const customIcons = {
  a2a: A2AIcon,
  adk: ADKIcon,
  awsStrands: AwsStrandsIcon,
  react: FaReact,
  server: HiOutlineServerStack,
  zap: LuZap,
  brush: LuBrush,
  globe: LuGlobe,
  langchain: SiLangchain,
  typescript: TbBrandTypescript,
  python: FaPython,
  crewai: SiCrewai,
  component: LuLayoutTemplate,
  ag2: AG2Icon,
  mastra: MastraIcon,
  microsoft: MicrosoftIcon,
  agno: AgnoIcon,
  agnoBlack: AgnoIconBlack,
  llamaindex: LlamaIndexIcon,
  pydantic: PydanticAIIcon,
  llm: RocketIcon,
  "direct-to-llm": RocketIcon,
};
